Les journaux prennent trop de place sur votre serveur. Comment y remédier ?
La plupart des fichiers de journal sont stockés dans le répertoire /var/log, mais ils ne s'y limitent pas. Les principes décrits dans cette section s'appliquent à tous les fichiers *.log, quel que soit leur répertoire sur votre serveur.
Les journaux sont des fichiers qui stockent des informations sur les événements du serveur : activité des applications et du système d'exploitation, diverses erreurs, requêtes des utilisateurs aux sites web, et plus encore. Au fil du temps, les journaux peuvent occuper une quantité importante d'espace disque, surtout en cas de forte charge ou d'erreurs logicielles.
Un aspect critique des fichiers de journal est que, dans la plupart des cas, leur suppression peut causer des problèmes au programme qui les génère — qu'il s'agisse d'un serveur web ou même du système d'exploitation lui-même.
De plus, les journaux contiennent souvent des informations de diagnostic précieuses qui peuvent aider à identifier les problèmes logiciels sur votre serveur et à prévenir des problèmes plus importants. Par conséquent, il est important de les gérer correctement et avec soin.
Comment identifier les journaux qui peuvent être nettoyés
Utilisez ncdu pour localiser les journaux volumineux sur le serveur. Si un fichier de journal est inhabituellement volumineux, vérifiez ses dernières entrées :
sudo tail /chemin/vers/journal
S'il n'y a pas d'anomalies, vérifiez le début du fichier pour déterminer si le journal a grossi simplement en raison de son ancienneté (faites attention à la date des entrées les plus anciennes) :
sudo head /chemin/vers/journal
Ensuite, vous pouvez procéder au nettoyage du fichier.
Si vous n'êtes pas sûr de la raison pour laquelle le fichier journal est devenu si volumineux, il est préférable de le sauvegarder et de contacter l'équipe de support de votre hébergeur pour obtenir des éclaircissements.
Comment nettoyer les journaux en toute sécurité
La commande truncate efface le contenu d'un fichier sans le supprimer :
sudo truncate -s 0 /var/log/nginx/error.log
Notez séparément les fichiers qui sont des journaux, malgré l'absence de l'extension *.log :
/var/log/btmp/var/log/syslog/var/log/messages/var/log/secure/var/log/maillog
Ces fichiers peuvent également être nettoyés en toute sécurité à l'aide de la commande truncate.
Un cas particulier est le journal situé dans le répertoire /var/log/journal. Vous trouverez plus de détails sur la gestion de ce journal dans un article séparé.
Comment empêcher les journaux de grossir trop rapidement
En analysant les journaux, vous remarquerez peut-être que certains portent des noms tels que :
syslog.1votresite.access.log.1
Ces noms apparaissent lorsque la rotation des journaux est appliquée, par exemple à l'aide du programme logrotate. Les anciens fichiers peuvent être supprimés ou compressés lors de la rotation, économisant ainsi de l'espace disque.
Vous pouvez en savoir plus sur la configuration de ce mécanisme dans un article séparé.